package socklib

import "hash/crc32"

/**
工具
*/

func Uint32ToBytes(d uint32) []byte {
	ret := make([]byte, 4)
	ret[3] = byte((d >> 24) & 0xff)
	ret[2] = byte((d >> 16) & 0xff)
	ret[1] = byte((d >> 8) & 0xff)
	ret[0] = byte(d & 0xff)
	return ret
}

//
func BytesToUint32(d []byte) uint32 {
	var ret uint32 = 0
	ret = uint32(d[3])<<24 + uint32(d[2])<<16 + uint32(d[1])<<8 + uint32(d[0])
	return ret
}

//
func Crc(d []byte) []byte {
	crc := crc32.ChecksumIEEE(d)
	return Uint32ToBytes(crc)
}
